package com.nanyang.tms.api.dto.response.waybill;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class WaybillDetailResponse implements Serializable {
    /**
     * 运单编号
     */
    private String waybillCode;

    /**
     * 客户代码
     */
    private String companyCode;
    /**
     * 客户名称
     */
    private String companyName;
    /**
     * 客户单号
     */
    private String customerNo;

    /**
     * 服务商单号
     */
    private String supplierNo;

    /**
     * 目的国家
     */
    private String countyName;


    /**
     * 目的城市名称
     */
    private String cityName;

    /**
     * 总件数
     */
    private Integer totalNum;
    /**
     * 收货实重
     */
    private BigDecimal receiptTotalWeight;
    /**
     * 收货材积重
     */
    private BigDecimal receiptTotalVolumeWeight;
    /**
     * 收货立方
     */
    private BigDecimal receiptVolume;
    /**
     * 收货计费重
     */
    private BigDecimal receiptTotalChargeWeight;
    /**
     * 收货货物类型
     */
    private String receiptCargoTypeName;
    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date receiptGmtCreate;
    /**
     * 收货地点
     */
    private String address;
    /**
     * 收货操作人
     */
    private String receiptOperator;
    /**
     * 销售产品名称
     */
    private String saleProductName;
    /**
     * 客户重量
     */
    private BigDecimal customerWeight;
    /**
     * 出货实重
     */
    private BigDecimal shipmentTotalWeight;
    /**
     * 出货材积重
     */
    private BigDecimal shipmentTotalVolumeWeight;
    /**
     * 出货计费重
     */
    private BigDecimal shipmentTotalChargeWeight;
    /**
     * 出货服务计费重
     */
    private BigDecimal supplierChargeWeight;
    /**
     * 出货货物类型
     */
    private String shipmentCargoTypeName;
    /**
     * 出货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date shipmentGmtCreate;
    /**
     * 出货操作人
     */
    private String shipmentOperator;
    /**
     * 服务商产品名称
     */
    private String productName;
    /**
     * 服务商名称
      */
    private String supplierName;
    /**
     * 结算计费重
     */
    private BigDecimal solveChargeWeight;
    /**
     * 结算实际重
     */
    private BigDecimal solveWeight;
    /**
     * 结算材积重
     */
    private BigDecimal solveVolumeWeight;
    /**
     * 运单类型（0签入，1签出）
     */
    private Integer waybillType;
}
